package com.jdd.modules.parking.vo;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 停车记录
 * @Author: jdd
 * @Date:   2022-05-23
 * @Version: V1.0
 */
@Data
public class CarParkingInfoVO {
    
	/**主键*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "主键")
	private String id;

	/**车场编号*/
    @ApiModelProperty(value = "车场编号")
	private String parkCode;

	/**停车场名称*/
    @ApiModelProperty(value = "停车场名称")
	private String parkName;

	/**1为有牌车，2为无牌车,默认有牌车*/
    @ApiModelProperty(value = "1为有牌车，2为无牌车,默认有牌车")
	private String carType;

	/**车辆本质(0:临时车,1:月租车2:储值车3：军警车4：白名单5:预约车）*/
    @ApiModelProperty(value = "车辆本质(0:临时车,1:月租车2:储值车3：军警车4：白名单5:预约车）")
	private String carNature;

	/**车牌号*/
    @ApiModelProperty(value = "车牌号")
	private String plateNo;

	/**停车总费用。由计费规则计算出的，当前停车总时长对应的总费用。*/
    @ApiModelProperty(value = "停车总费用。由计费规则计算出的，当前停车总时长对应的总费用。")
	private String chargeTotalFee;

	/**应付费用*/
    @ApiModelProperty(value = "应付费用")
	private String chargeDue;

	/**实收金额*/
    @ApiModelProperty(value = "用户支付的金额，以银行回调支付金额为准；单位分")
	private String chargePaid;

	/**优惠金额*/
    @ApiModelProperty(value = "优惠金额公式：coupon_amt =charge_total_fee - 使用优惠券后的计费金额。单位：分")
	private String couponAmt;

	/**退款金额*/
    @ApiModelProperty(value = "退款金额")
	private String rejectAmt;

	/**入场时间*/
    @ApiModelProperty(value = "入场时间")
	private String enterTime;

	/**出场时间*/
    @ApiModelProperty(value = "出场时间")
	private String outTime;

	/**停车时长: 单位分*/
    @ApiModelProperty(value = "停车时长: 单位分钟")
	private Integer chargeDuration;

	/**入场类型：0默认，1重复入场*/
    @ApiModelProperty(value = "入场类型：0默认，1重复入场")
	private Integer enterType;

	/**出场类型 1 : 正常出场 2：手动出场 3：补录场内 4:免费开闸 5：匹配出场**/
    @ApiModelProperty(value = "出场类型 1 : 正常出场 2：手动出场 3：补录场内 4:免费开闸 5：匹配出场")
	private Integer outerType;

	/**出入口编号*/
    @ApiModelProperty(value = "出入口编号")
	private Integer enterArmCode;

	/**车辆进场地点 出口名称*/
    @ApiModelProperty(value = "车辆进场地点 出口名称")
	private String enterArmName;

	/**出入口编号*/
    @ApiModelProperty(value = "出入口编号")
	private Integer outArmCode;

	/**车辆进场地点 出口名称*/
    @ApiModelProperty(value = "车辆进场地点 出口名称")
	private String outArmName;

	/**出场操作员*/
    @ApiModelProperty(value = "出场操作员")
	private String outSysUserName;

	/**入场操作员*/
    @ApiModelProperty(value = "入场操作员")
	private String enterSysUserName;

	/**备注*/
    @ApiModelProperty(value = "备注")
	private String remark;

	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;

	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private Date updateTime;

	/**车辆类型*/
	@ApiModelProperty(value = "车辆类型")
	private String carTypeId;

	/**车辆类型名称*/
	@ApiModelProperty(value = "车辆类型名称")
	private String carTypeName;

	/**抵扣金额*/
	@ApiModelProperty(value = "抵扣金额")
	private String deductAmount;

	/**入场工作站*/
	private String enterWorkName;
	/**出场工作站*/
	private String outWorkName;
	/**是否退款0-未退款（默认）1-退款*/
	private String isReject;

	@ApiModelProperty(value = "入场批次号")
	private String batchNumber;

	/**0,未出场 1，已出场*/
	@ApiModelProperty(value = "车辆状态(0,未出场 1，已出场)")
	private String isOut;

	@ApiModelProperty(value = "入场设备序列号，唯一")
	private String enterSerialNo;

	@ApiModelProperty(value = "出场设备序列号，唯一")
	private String outSerialNo;

}
